package de.uni_bremen.exceptions.oops;

/**
 * Die Klasse repräsentiert einen Bezeichner im Quelltext.
 */
class Identifier
{
	/** Der Name des Bezeichners. */
	String		name;
	
	/** Die Quelltextstelle, an der der Bezeichner gelesen wurde. */
	Position	position;
	
	/**
	 * Konstruktor.
	 * 
	 * @param name
	 *            Der Name des Bezeichners.
	 * @param position
	 *            Die Quelltextstelle, an der der Bezeichner gelesen wurde.
	 */
	Identifier(String name, Position position)
	{
		this.name = name;
		this.position = position;
	}
	
	@Override
	public boolean equals(Object obj)
	{
		if (obj instanceof Identifier)
			return ((Identifier) obj).name.equals(name);
		return super.equals(obj);
	}
	
	/**
	 * Die Methode gibt den Namen des Bezeichners in Textform aus.
	 */
	@Override
	public String toString()
	{
		return name;
	}
}